Processing of digital video presents many challenges. One of these is scaling the video images to different sizes. Image scaling is typically required to convert the size of an image, stored or received in one format into a different size desired or required by a viewer of the image.
Many techniques for scaling digital video are known. Some of these are disclosed in Keith Jack, Video Demystified, Fourth Edition (Demystifying Technology) (Newnes: 2004), the contents of which are hereby incorporated by reference. Others are disclosed in Digital Image Warping, George Wolberg, (IEEE Computer Society Press, Los Alamitos, Calif.: 1990).
Each technique presents its advantages and drawbacks. For example, fast scaling techniques repeat or sub-sample pixels within a source image to form a scaled image. These techniques are well suited for scaling low detail source images, or source images with very clearly defined edges. For example, such techniques are used to scale computer generated graphics. However, they may leave some scaled images looking blotchy.
Other techniques combine multiple adjacent pixels to form the scaled image, typically using a polyphase multi-tap filter. These techniques are well suited for high detail images. Generally, the more pixels that are combined, the less blotchy the resulting image. As a result, such techniques are used to scale camera images. These techniques, however, often introduce other undesirable artefacts in the scaled image. For example, if too many adjacent pixels are combined the resulting scaled image may inappropriately combine pixels in unrelated portions of the source image. Moreover, if sharp edges are combined in such a multi-tap filter, ringing may occur.
The recent convergence of computer graphics and real video has exacerbated the shortcomings of existing scaling circuits. Specifically, modern video such as encoded using an MPEG-2 or similar codecs combines camera images with text and graphics. Using a low order scaling circuit blurs the camera image portion of the video, while using higher order scalers results in ringing caused by the presence of computer graphics.
Accordingly, there is a need for an improved scaling circuit and method.